Every year, more and more business is being transacted over the internet. Business processes or transactions conducted over a network such as the internet are typically implemented through web pages with software components called web applications enabling the transactions. Some enterprises having internet sites with transactional capabilities offer business to customer (B2C) or business to business (B2B) communications.
B2C communication is described with reference to FIG. 1. Traditionally a user 16 conducts transactions on the internet 12 with a web application interface 32 of the web application 18 as shown via the dashed arrows in FIG. 1. The user typically accesses the transactions 22-24 of the web application 18 via the internet 12 and the web application interface 32 through web pages of the web application. Web pages are typically written in hypertext markup language (HTML) for browsers on personal computers, wireless markup language (WML) for browsers on mobile phones, or the like. The web application 18 presents an interface to the user by providing web pages which the user navigates to perform the transactions 22, 24.
B2B communication is also described with reference to FIG. 1. For B2B communication, the web application on the server side must provide a programming interface to client applications. For this purpose, web services have been developed.
A web service is a software component that is well understood by a skilled person in the industry. The strength of web services is the standardized way to integrate various heterogeneous applications without the prior knowledge of the specific implementation of each application. Web services allow different applications implemented in different sources to communicate by using standardized description language such as Web Service Description Language (WSDL), simple object access protocol (SOAP), and universal description, discovery, and integration (UDDI). A WSDL file is a description language file written in extensible markup language (XML) that describes the functions and their associated input/output parameters provided by the web service which may be called by a user application (also called a web service client). The user application before accessing the web service reads the WSDL file and adapts its calls accordingly. The WSDL file may be stored on the same server as the server hosting the web service or in a different server or directory. Web services allow a programmatic access to distributed transactions over the internet to provide data or functionality to another application.
However, creating, deploying and publishing web services to conduct transactions for web applications is complex and requires advanced programming skills. The amount of programming required is time intensive and the cost involved is substantial, for example complex components such as application servers are typically required. Often, enterprises are not able to afford the expense associated with web services technology.
The current approach to build and deploy a web service 14 is shown in the computer network system 10 of FIG. 1. Such web services are typically programmed by the service provider or owner of the web application 18 and implemented on the same web server 26 hosting the web application. The web service 14 consists of two logical blocks, one for interfacing with the user application 20, i.e. the web service interface 28, and one for interfacing with the web application 18, i.e. the web service implementation 30. Knowledge of the web server and web application language code allows the owner to program and deploy the web service interface 28 and web service implementation 30 that interacts directly with the code of the web application to conduct the transactions 22-24. The web service interface 28 interacts with a user application 20 via a network, such as the internet 12, to execute calls from the user application and conduct the transactions 22-24 of the web application 18. The web service interacts directly with the transactions via the web service implementation 30. Although advanced programming skills are required to implement the web service, this is a common technique of implementing web services that is well known in the art. The interrelation between user application, web application transactions, and web service is shown via solid arrows in FIG. 1.
The main problems with previous approaches are that advanced programming skills are necessary and knowledge of transaction interface of the web application is required to implement and deploy the web service.
Another approach provides a system and method for aiding a user to build web services from existing web page-based transactions by navigating in a web site such as B2C web site and indicating what the web services are, for example, among the graphical elements that are part of the web page. Essentially, a user may develop a web service without having the knowledge of the web application transaction programming interface. The user is able to select input and output parameters, and define the interrelation between parameters. In a feature, an automata may record the navigation sequence to execute a specific transaction corresponding to a specific web service, which automates the process with this respect. However, further automation of the process would be useful, in particular for a user having limited programming skills since further automating the process is still requires programming skills to implement.
Thus, there is a need for a system and method for computer-aided generation of web services from web-page based transactions as web services from an existing web site. There is a need for a system and a method for generating web services that alleviates the problems associated with the previous approaches.